home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Micro on the Apple Volume 2 (1981)(Micro Ink).zip / Micro on the Apple Volume 2 (1981)(Micro Ink).do / LIFESAVER.int < prev    next >
Text File  |  1996-12-24  |  5KB  |  154 lines

  1. 0 LOMEM:2500
  2. 1 REM   ************************
  3. 2 REM   *                      *
  4. 3 REM   *   APPLE LIFE-SAVER   *
  5. 4 REM   *   GREGORY TIBBETTS   *
  6. 5 REM   *                      *
  7. 6 REM   *      LIFESAVER       *
  8. 7 REM   *                      *
  9. 8 REM   *  COPYRIGHT (C) 1981  *
  10. 9 REM   *    MICRO INK, INC.   *
  11. 10 REM   * CHELMSFORD, MA 01824 *
  12. 11 REM   *  ALL RIGHTS RESERVED *
  13. 12 REM   *                      *
  14. 13 REM   ************************
  15. 14 REM 
  16. 16 DIM HEX$(30)
  17. 30 PRINT "<CTRL-D>BLOAD LIFE"
  18. 50 GOTO 800
  19. 60  POKE -16302,0:COLOR= 0:FOR K=40 TO 47
  20. 70 HLIN 0,39 AT K:NEXT K
  21. 80 KX=PDL (0)-10:IF KX>240 THEN KX=KX1:IF KX<0 THEN KX=0
  22. 90 K1=KX*6:K2=KX*2:K3=500/(K1+50)+1
  23. 100 FOR I=1 TO K3
  24. 110 CALL GEN
  25. 120 FOR K=1 TO K1:NEXT K
  26. 130 CALL MOP
  27. 140 FOR K=1 TO K2:NEXT K
  28. 150 NEXT I
  29. 160 GOTO 80
  30. 170 FOR I=1 TO SIZE:COLOR= 11
  31. 180 X=XCTR+X(I):Y=YCTR+Y(I)
  32. 190 IF X<0 OR X>39 OR Y<0 OR Y>39 THEN 1210
  33. 200 PLOT X,Y:NEXT I
  34. 210 RETURN 
  35. 220 FOR I=I1 TO I2:FOR J=J1 TO J2
  36. 230 COLOR= 11:IF  RND (L) THEN COLOR= 0
  37. 240 PLOT I,J
  38. 250 NEXT J:NEXT I
  39. 260 GOTO 60
  40. 270 FOR I=1 TO SIZE
  41. 280 X=Y(I):Y=X(I)
  42. 290 IF Y(I) THEN X=X*-1
  43. 300 X(I)=X:Y(I)=Y
  44. 310 NEXT I:RETURN 
  45. 320 FOR I=1 TO SIZE
  46. 330 X(I)=X(I)*-1:Y(I)=Y(I)*-1
  47. 340 NEXT I:RETURN 
  48. 350 FOR I=1 TO SIZE
  49. 360 IF XAX THEN 380
  50. 370 X=X(I):Y=Y(I)*-1:GOTO 390
  51. 380 Y=Y(I):X=X(I)*-1
  52. 390 X(I)=X:Y(I)=Y:NEXT I
  53. 400 RETURN 
  54. 410 PRINT D$;"OPEN";A$
  55. 420 PRINT D$;"READ";A$
  56. 430 FOR I=1 TO 255
  57. 440 INPUT X(I),Y(I)
  58. 450 IF X(I)=99 OR Y(I)=99 THEN 470
  59. 460 NEXT I
  60. 470 SIZE=I-1
  61. 480 PRINT D$;"CLOSE";A$
  62. 490 IF ROT THEN GOSUB 270
  63. 500 IF HALF THEN GOSUB 320
  64. 510 IF REV THEN GOSUB 350
  65. 520 GOSUB 170
  66. 530 HALF=0:ROT=0:REV=0:XAX=0:SIZE=0
  67. 540 RETURN 
  68. 550 PRINT D$;"OPEN";A$
  69. 560 PRINT D$;"DELETE";A$
  70. 570 PRINT D$;"OPEN";A$
  71. 580 PRINT D$;"WRITE";A$
  72. 590 FOR I=1 TO SIZE
  73. 600 PRINT X(I)
  74. 610 PRINT Y(I)
  75. 620 NEXT I
  76. 630 PRINT D$;"CLOSE";A$
  77. 640 RETURN 
  78. 650 FOR I=1 TO 255
  79. 660 INPUT X,Y
  80. 670 IF X=99 OR Y=99 THEN 720
  81. 680 IF X<0 OR X>39 OR Y<0 OR Y>39 THEN 700
  82. 690 X(I)=X-XCTR:Y(I)=Y-YCTR:GOTO 710
  83. 700 PRINT "OUT OF RANGE!":GOTO 660
  84. 710 NEXT I
  85. 720 X(I)=99:Y(I)=99
  86. 730 SIZE=I
  87. 740 RETURN 
  88. 750 INPUT "INPUT X,Y",X,Y
  89. 760 IF X=99 OR Y=99 THEN 60
  90. 770 IF X<0 OR X>39 OR Y<0 OR Y>39 THEN 790
  91. 780 COLOR= 11:PLOT X,Y:GOTO 750
  92. 790 PRINT "OUT OF RANGE!":GOTO 750
  93. 800 TEXT 
  94. 810 DIM X(255),Y(255),A$(50),B$(2),D$(1)
  95. 820 GEN=2088:MOP=2265:K1=1:K2=1:D$="<CTRL-D>":REM  D$=CNTRL D
  96. 830 CALL -936:VTAB 5:TAB 9:PRINT "CONWAYS GAME OF LIFE":FOR I=1 TO 700:NEXT I
  97. 840 GR 
  98. 850 PRINT "DO YOU WISH TO: 1.PLAY OR 2.CREATE"
  99. 860 INPUT "A NEW PATTERN FILE (1/2).",C1
  100. 870 IF C1=2 THEN 1140
  101. 880 INPUT "SPEED=PDL(0): SET DEFAULT (0-255)",KX1
  102. 890 PRINT "DO YOU WISH 1.RANDOM PATTERN 2.PATTERN"
  103. 900 INPUT "FROM DISK OR 3.STANDARD: (1/2/3)",C1
  104. 910 IF C1=3 THEN 990
  105. 920 IF C1=2 THEN 1010
  106. 930 INPUT "X DIRECTION LIMITS ",I1,I2
  107. 940 IF I1<0 OR I2>39 OR I1>I2 THEN 930
  108. 950 INPUT "Y DIRECTION LIMITS ",J1,J2
  109. 960 IF J1<0 OR J2>39 OR J1>J2 THEN 950
  110. 970 INPUT "ONE IN 'N' CELLS WILL LIVE:ENTER N",L
  111. 980 GOTO 220
  112. 990 PRINT "ENTER YOUR PATTERN (X,Y):99,99 EXITS"
  113. 1000 GOTO 750
  114. 1010 INPUT "WHAT FIGURE NAME",A$
  115. 1020 INPUT "ENTER CENTER COORD'S (X,Y)",XCTR,YCTR
  116. 1030 INPUT "ENTER ROTATION (0/90/180/270)",ROT
  117. 1040 IF ROT=180 OR ROT=270 THEN HALF=1
  118. 1050 IF ROT=90 OR ROT=270 THEN ROT=1
  119. 1060 IF ROT<>1 THEN ROT=0
  120. 1070 INPUT "ENTER 1.REVERSED OR 2.STANDARD (1/2)",REV
  121. 1080 IF REV>1 THEN REV=0:IF NOT REV THEN 1110
  122. 1090 INPUT "REVERSE ON 1.X-AXIS OR 2.Y-AXIS (1/2)",XAX
  123. 1100 IF XAX>1 THEN XAX=0
  124. 1110 GOSUB 410
  125. 1120 INPUT "ANOTHER FIGURE (Y/N)",B$:IF B$="N" THEN 60
  126. 1130 PRINT "CAUTION:FIGURES MAY OVERWRITE!":GOTO 1010
  127. 1140 INPUT "ENTER CENTER COORD'S (X,Y)",XCTR,YCTR
  128. 1150 PRINT "ENTER ALL LIVE CELLS (X,Y): 99,99 EXITS"
  129. 1160 GOSUB 650
  130. 1170 INPUT "ENTER NAME FOR THIS FIGURE",A$
  131. 1180 GOSUB 550
  132. 1190 PRINT "TESTING":GOSUB 410
  133. 1200 GOTO 60
  134. 1210 PRINT "PLOT ABORTED/FIGURE WENT OFF SCREEN"
  135. 1220 PRINT "MOVE CENTERPOINT:X AND Y WHEN ABORTED"
  136. 1230 PRINT "WERE ";X;",";Y:POP :POP 
  137. 1240 IF I=1 THEN 1020:IE=I-1:COLOR= 0:FOR I=1 TO IE
  138. 1250 PLOT X(I)+XCTR,Y(I)+YCTR:NEXT I:GOTO 1020
  139. 1260 REM  ADAPTATION BY GREG TIBBETTS OF RICHARD SUITOR'S PROGRAM IN  "BEST OF MICRO" VOLUME II 1979
  140. 1270 REM LINES 0-50 PROGRAM SET-UP
  141. 1280 REM 60-160 SPEED AND GENERATION
  142. 1290 REM 170-210 GENERAL PLOT SUBR.
  143. 1300 REM 220-260 RANDOM PLOT SUBR.
  144. 1310 REM 270-340 ROTATION SUBR'S.
  145. 1320 REM 350-400 REVERSAL SUBR.
  146. 1330 REM 410-540 DISK READ SUBR.
  147. 1340 REM 550-740 DISK WRITE SUBR'S.
  148. 1350 REM 750-790 STANDARD INPUT SUBR
  149. 1360 REM 800-840 INITIALIZATION
  150. 1370 REM 850-920 MODE SELECTION
  151. 1380 REM 930-1200 USER INPUT/SELECT
  152. 1390 REM 1210-1250 PLOT ABORT SUBR.
  153. 10000 END 
  154.